Chart.js এ Axes (অক্ষ) কাস্টমাইজ করা ডেটা ভিজ্যুয়ালাইজেশনকে আরও পরিষ্কার এবং কাস্টমাইজড করে তুলতে সহায়ক। আপনি এক্স (X) এবং ওয়াই (Y) অক্ষের labels (লেবেল), ticks (টিকস), এবং grid lines (গ্রিড লাইন্স) কাস্টমাইজ করতে পারেন, যা চার্টের পাঠযোগ্যতা এবং দৃশ্যমানতা বাড়াতে সহায়তা করে।
Chart.js তে কাস্টমাইজেশন খুবই নমনীয় এবং সেগুলির মাধ্যমে আপনি চার্টের ডিজাইন ও পারফরম্যান্সকে নিজের চাহিদা অনুযায়ী পরিবর্তন করতে পারেন।
Axes কাস্টমাইজেশন
Chart.js এ, আপনি scales অপশন ব্যবহার করে এক্স এবং ওয়াই অক্ষের বিভিন্ন অংশ কাস্টমাইজ করতে পারেন। নীচে সাধারণ কাস্টমাইজেশন অপশনগুলো আলোচনা করা হলো:
১. Labels কাস্টমাইজেশন
Labels হলো অক্ষের নাম, যা সাধারণত এক্স-অক্ষ ও ওয়াই-অক্ষের মধ্যে প্রদর্শিত হয়। আপনি এই লেবেলগুলো কাস্টমাইজ করতে পারেন যেমন তাদের অবস্থান, রং, ফন্ট স্টাইল ইত্যাদি।
এক্স অক্ষের লেবেল কাস্টমাইজ:
options: {
scales: {
x: {
ticks: {
color: 'blue', // টিক্সের রং
font: {
size: 14, // ফন্ট সাইজ
family: 'Arial', // ফন্ট ফ্যামিলি
weight: 'bold' // ফন্টের স্টাইল
},
callback: function(value) {
return value.toUpperCase(); // লেবেলকে বড় হাতের অক্ষরে রূপান্তর
}
},
grid: {
display: false // গ্রিড লাইনগুলো না দেখানো
}
},
y: {
ticks: {
color: 'green', // টিক্সের রং
font: {
size: 14,
family: 'Arial',
weight: 'bold'
}
},
grid: {
color: 'rgba(0, 0, 0, 0.1)', // গ্রিড লাইন রং
lineWidth: 1 // গ্রিড লাইন প্রস্থ
}
}
}
}
২. Ticks কাস্টমাইজেশন
Ticks হল এক্স-অক্ষ এবং ওয়াই-অক্ষের মধ্যে ছোট ছোট চিহ্ন যা মূলত ডেটা পয়েন্টের প্রতিনিধিত্ব করে। এই টিক্স কাস্টমাইজ করা অনেকটা লেবেল কাস্টমাইজ করার মতোই, আপনি তাদের রং, আকার এবং প্রদর্শনের পদ্ধতি পরিবর্তন করতে পারেন।
টিক্স কাস্টমাইজ করতে:
options: {
scales: {
x: {
ticks: {
stepSize: 10, // টিক্সের মধ্যে পদক্ষেপের আকার
min: 0, // টিক্সের সর্বনিম্ন মান
max: 100 // টিক্সের সর্বোচ্চ মান
}
},
y: {
ticks: {
stepSize: 5, // টিক্সের মধ্যে পদক্ষেপ
beginAtZero: true // ওয়াই-অক্ষ ০ থেকে শুরু হবে
}
}
}
}
৩. Grid Lines কাস্টমাইজেশন
Grid Lines হল সেই লাইনগুলো যা চার্টের ব্যাকগ্রাউন্ডে থাকে এবং ডেটা পয়েন্টের মধ্যে পার্থক্য বোঝাতে সাহায্য করে। আপনি এই গ্রিড লাইনের রং, প্রস্থ এবং দৃশ্যমানতা কাস্টমাইজ করতে পারেন।
Grid Lines কাস্টমাইজ:
options: {
scales: {
x: {
grid: {
display: true, // গ্রিড লাইন প্রদর্শন
color: 'rgba(0, 0, 0, 0.1)', // গ্রিড লাইন রং
lineWidth: 1 // গ্রিড লাইন প্রস্থ
}
},
y: {
grid: {
display: true,
color: 'rgba(0, 0, 0, 0.1)', // গ্রিড লাইন রং
lineWidth: 1 // গ্রিড লাইন প্রস্থ
}
}
}
}
৪. Grid Lines কাস্টমাইজ করতে আরও উন্নত অপশন
আপনি গ্রিড লাইনের মধ্যে বিভিন্ন ধরনের কাস্টমাইজেশন করতে পারেন:
borderDash: গ্রিড লাইনকে ড্যাশড বা সলিড লাইন হিসেবে পরিবর্তন করতে।drawOnChartArea: গ্রিড লাইনের প্রদর্শন প্রভাব পরিবর্তন করতে।
options: {
scales: {
x: {
grid: {
borderDash: [5, 5], // ড্যাশড লাইন
drawOnChartArea: false // গ্রিড লাইনের উপর চার্ট আঁকা হবে না
}
},
y: {
grid: {
borderDash: [10, 5], // গ্রিড লাইনের ড্যাশ প্যাটার্ন
drawOnChartArea: true
}
}
}
}
৫. Reverse Axis (অক্ষের বিপরীত প্রদর্শন)
আপনি চাইলে অক্ষের reverse বা বিপরীত অর্থাৎ উল্টো দিকেও প্রদর্শন করতে পারেন।
options: {
scales: {
x: {
reverse: true // এক্স-অক্ষকে উল্টো দিক থেকে প্রদর্শন
},
y: {
reverse: true // ওয়াই-অক্ষকে উল্টো দিক থেকে প্রদর্শন
}
}
}
উদাহরণ: কাস্টমাইজড এক্স এবং ওয়াই অক্ষের গ্রিড, টিক্স, এবং লেবেল
const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
type: 'line', // Line chart
data: {
labels: ['January', 'February', 'March', 'April', 'May'],
datasets: [{
label: 'Sales Data',
data: [10, 20, 30, 40, 50],
borderColor: 'rgba(75, 192, 192, 1)',
borderWidth: 2,
fill: false
}]
},
options: {
scales: {
x: {
ticks: {
color: 'purple',
font: {
size: 14,
weight: 'bold'
}
},
grid: {
display: true,
color: 'rgba(0, 0, 0, 0.1)',
lineWidth: 1
}
},
y: {
ticks: {
color: 'green',
font: {
size: 14,
weight: 'bold'
},
beginAtZero: true
},
grid: {
display: true,
color: 'rgba(0, 0, 0, 0.1)',
lineWidth: 1
}
}
}
}
});
সারাংশ
Chart.js এ Axes কাস্টমাইজেশন এর মাধ্যমে আপনি চার্টের এক্স ও ওয়াই অক্ষের labels, ticks, এবং grid lines কাস্টমাইজ করে আপনার চার্টকে আরও আকর্ষণীয় এবং পাঠযোগ্য করতে পারেন। আপনি বিভিন্ন কাস্টমাইজেশন অপশন ব্যবহার করে চার্টের ভিজ্যুয়াল ডিজাইনকে উন্নত করতে পারবেন, যা ডেটা ভিজ্যুয়ালাইজেশনকে আরও কার্যকর করে তোলে।
Read more